home *** CD-ROM | disk | FTP | other *** search
- /*-----------------------------------------------------------------------*/
- /* TIGA */
- /* Copyright (c) 1988,89 Texas Instruments Inc. */
- /*-----------------------------------------------------------------------*/
- /* TIGA - Header file */
- /*-----------------------------------------------------------------------*/
- /* */
- /* file typedefs.h */
- /* */
- /* description This file contains type definitions used in */
- /* the Applications Interface. */
- /* This file should be included in any Microsoft-C */
- /* program accessing data of these types. */
- /* */
- /*-----------------------------------------------------------------------*/
-
- /*--------------------------------------------------------------------------*/
- /* Define integral data types */
- /*--------------------------------------------------------------------------*/
- typedef unsigned char uchar;
- typedef unsigned short ushort;
- typedef unsigned long ulong;
- typedef unsigned long PTR;
- typedef uchar far *HPTR;
-
-
- /*--------------------------------------------------------------------------*/
- /* CURSOR structure definition */
- /* */
- /* This structure contains cursor description information. */
- /*--------------------------------------------------------------------------*/
- typedef struct
- {
- short hot_x; /* offset from top... */
- short hot_y; /* ...left-hand corner */
- ushort width; /* array width */
- ushort height; /* array height */
- ushort pitch;
- ulong color; /* color of cursor */
- ushort mask_rop; /* cursor mask rop */
- ushort shape_rop; /* cursor shape rop */
- PTR data; /* pointer to cursor data in GSP memory */
- } CURSOR;
-
-
- /*--------------------------------------------------------------------------*/
- /* PATTERN structure definition */
- /* */
- /* This structure contains pattern description information. */
- /*--------------------------------------------------------------------------*/
- typedef struct
- {
- ushort width; /* width of pattern */
- ushort height; /* height of pattern */
- ushort depth; /* depth (bits/pixel) */
- PTR data; /* address of pattern in GSP memory */
- } PATTERN;
-
-
- /*--------------------------------------------------------------------------*/
- /* PALET structure definition */
- /* */
- /* This structure contains the rgb and intensity components for a */
- /* palette entry. */
- /*--------------------------------------------------------------------------*/
- typedef struct
- {
- uchar r;
- uchar g;
- uchar b;
- uchar i;
- } PALET;
-
-
- /*--------------------------------------------------------------------------*/
- /* MONITORINFO structure definition */
- /* */
- /* This structure contains video timing parameters. */
- /*--------------------------------------------------------------------------*/
- typedef struct
- {
- ushort hesync;
- ushort heblnk;
- ushort hsblnk;
- ushort htotal;
- ushort vesync;
- ushort veblnk;
- ushort vsblnk;
- ushort vtotal;
- ushort dpyctl;
- ushort screen_delay;
- ushort flags;
- } MONITORINFO;
-
-
- /*--------------------------------------------------------------------------*/
- /* OFFSCREEN structure definitions */
- /* */
- /* These structures contain definitions of offscreen work areas */
- /*--------------------------------------------------------------------------*/
- typedef struct
- {
- PTR addr; /* address in gsp space of an offscreen work area */
- ushort xext; /* x extension in the current screen pixel size */
- ushort yext; /* y extension using default screen pitch */
- } OFFSCREEN_AREA;
-
-
- /*--------------------------------------------------------------------------*/
- /* PAGE structure definitions */
- /* */
- /* These structures contain definitions used to implement multiple */
- /* display pages. The information in these structures is used to */
- /* display a given page. */
- /*--------------------------------------------------------------------------*/
- typedef struct
- {
- PTR BaseAddr; /* Base address of start of page */
- ushort DpyStart; /* Value loaded in Display Start i/o register */
- short DummyPad; /* 16 bits to pad structure to power of 2 size */
- } PAGE;
-
-
- /*--------------------------------------------------------------------------*/
- /* MODEINFO structure definition */
- /* */
- /* This structure contains information pertaining to the current mode */
- /* of operation. */
- /*--------------------------------------------------------------------------*/
- typedef struct
- {
- ulong disp_pitch; /* display pitch y::x */
- ushort disp_vres; /* vertical resolution (pixels) */
- ushort disp_hres; /* horizontal resolution (pixels) */
- short screen_wide; /* screen width */
- short screen_high; /* screen height */
- ushort disp_psize; /* pixel size */
- ulong pixel_mask; /* pixel mask */
- ushort palet_gun_depth; /* # of bits per gun */
- ulong palet_size; /* number of palette entries */
- short palet_inset; /* offset from frame start to data */
- ushort num_pages; /* number of display pages */
- short num_offscrn_areas; /* number off offscreen work areas */
- ulong wksp_addr; /* address of offscreen workspace */
- ulong wksp_pitch; /* pitch of offscreen workspace */
- } MODEINFO;
-
-
- /*--------------------------------------------------------------------------*/
- /* CONFIG structure definition */
- /* */
- /* This structure contains the current hardware operating */
- /* configuration. */
- /*--------------------------------------------------------------------------*/
- typedef struct
- {
- ushort version_number;
- ulong comm_buff_size;
- ulong sys_flags;
- ulong device_rev;
- ushort num_modes;
- ushort current_mode;
- ulong program_mem_start;
- ulong program_mem_end;
- ulong display_mem_start;
- ulong display_mem_end;
- ulong stack_size;
- ulong shared_mem_size;
- HPTR shared_host_addr;
- PTR shared_gsp_addr;
- MODEINFO mode;
- } CONFIG;
-
-
- /*--------------------------------------------------------------------------*/
- /* ENVIRONMENT structure definition */
- /* */
- /* This structure contains the current values of environment global */
- /* variables. */
- /*--------------------------------------------------------------------------*/
- typedef struct
- {
- ulong xyorigin; /* xy drawing origin */
- ulong pensize; /* pensize height::width */
- PTR srcbm; /* source bitmap struct */
- PTR dstbm; /* dest bitmap struct */
- ulong stylemask; /* styled line patn mask */
- } ENVIRONMENT;
-
-
- /*----------------------------------------------------------------------*/
- /* MODULE structure definition */
- /* */
- /* This structure defines the data associated with a function module. */
- /*----------------------------------------------------------------------*/
- typedef struct
- {
- PTR ListAddr;
- PTR MallocAddr;
- ulong MallocBytes;
- ushort NumFuncs;
- ushort Dummy;
- } MODULE;
-
-
- /*----------------------------------------------------------------------*/
- /* FONT structure definition */
- /* */
- /* This structure defines the data associated with a font */
- /*----------------------------------------------------------------------*/
- typedef struct
- {
- ushort magic; /* font type code */
- long length; /* Length of font in bytes */
- char facename[32];
- short first; /* ASCII code of first character */
- short last; /* ASCII code of last character */
- short maxwide; /* maximum character width */
- short maxkern; /* maximum character kerning amount */
- short charwide; /* Width of characters (0 if proportional) */
- short avgwide; /* Average width of characters */
- short charhigh; /* character height */
- short ascent; /* ascent (how far above base line) */
- short descent; /* descent (how far below base line) */
- short leading; /* leading (row bottom to next row top) */
- long rowpitch; /* bits per row of char patterns */
- long oPatnTbl; /* Bit offset to PatnTbl (from bof) */
- long oLocTbl; /* Bit offset to LocTbl (from bof) */
- long oOwTbl; /* Bit offset to OWTbl (from bof) */
- } FONT;
-
- /*----------------------------------------------------------------------*/
- /* FONTINFO structure definition */
- /*----------------------------------------------------------------------*/
- typedef struct
- {
- char facename[32];
- short first; /* ASCII code of first character */
- short last; /* ASCII code of last character */
- short maxwide; /* maximum character width */
- short avgwide; /* Average width of characters */
- short maxkern; /* Max character kerning amount */
- short charwide; /* Width of characters (0=proportional) */
- short charhigh; /* character height */
- short ascent; /* ascent (how far above base line) */
- short descent; /* descent (how far below base line) */
- short leading; /* leading (row bottom to next row top) */
- PTR fontptr; /* address of font in gsp memory */
- short id; /* id of font (set at install time) */
- } FONTINFO;
-
- ə